home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.m68k
- Path: netcom.com!ludis
- From: ludis@netcom.com (Ludis Langens)
- Subject: Re: Interfacing Z80 periphs to a 68k system
- Message-ID: <ludisDM70r7.Hzs@netcom.com>
- Organization: It's here somewhere
- References: <4eg3k1$dc5@elektron.et.tudelft.nl> <4etqpg$re4@simancas.cpd.uva.es>
- Date: Sat, 3 Feb 1996 09:23:31 GMT
- Sender: ludis@netcom13.netcom.com
-
- In article <4etqpg$re4@simancas.cpd.uva.es> jesus@simu1.ele.cie.uva.es () writes:
- >jan-derk bakker (bakker@morra.et.tudelft.nl) wrote:
- >: As the MC68901 is off the market, and the replacement 'HC901 hasn't
- >: been introduced yet, I was thinking about connecting a Z8090 aka
- >: Z80 KIO to my 68020 system. At under $10, this part offers two serial
- >: ports, 16 I/O bits, 3 timers and some more stuff in a 84-pin PLCC
- >: package.
- >:
- >: The programming of this chip shouldn't be too hard (I have all the
- >: Zilog manuals left over from my last life). However, I still have to
- >: connect the chip, which means getting the timing right :-(.
- >: It doesn't seem to be too hard (from the manual), but I am still
- >: *very* interested to hear from anyone who has attempted this unusual
- >: combination before.
- >
- >I don't know this chip, but i'm thinking about this interfacing for some
- >time (I want a 68k + Z80 SIO), and i think that the main problem comes from
- >the End of Interrupt Ack. The Zilog peripherals listen to the data bus in
- >search of the RETI op, that signals the end of interrupt. The line M1 of Z80
- >CPU signals the op fetch, but this instruction is 2 bytes long and therefore
- >generates 2 machine cycles. Fortunately, the SIO (and probably other Zilog
- >IC's) have a Reset Interrupt command to do the same work by software.
-
- I'm not familiar with the Z8090, but it sounds like one of the Z8000's
- peripheral chips. This means it has a bus design similar to the 68K and
- thus should be easy to interface. The non-multiplexed (Addr/Data) version
- should be easier to interface. If it exists, the part number is Z8590.
-
- The Z8xxx chips can be accessed asyncronously with regard to their clock.
- This allows the clock to be any convenient frequency. The interrupt
- structure is also easy to connect to a 68K (in either autovector mode
- or full vector mode.) These chips don't do the funny opcode scanning
- of the Z80 series chips.
-
- Connecting a Z8xxx to a 68K is not unusual. Back when the Z8000 CPU
- was not getting design wins, and when Motorola couldn't get its 68K
- peripheral chips out the door, Zilog advertised its I/O chips for use
- with the 68000. One such system is the Mac - it uses the Z8530 SCC
- (aka an enhanced Z80 SIO.)
-
- My one timing suggestion is that you include hardware to give the 68K
- wait states if it tries to access the 8090 faster than allowed. In
- the original Mac, software had to make sure it waited 2uS between
- accesses to the SCC. Later models generate the delay in hardware -
- a NOP at 100MHz doesn't delay much! (Apple actually used MOVE.W (SP),(SP)
- or MOVE.L (SP),(SP) for delays instead of NOPs.)
-
- --
- unsigned long BinToBCD(unsigned long i) {unsigned long t;
- Ludis Langens return i ? (t = BinToBCD(i >> 1), (t << 1) + (i & 1) +
- ludis@netcom.com (t + 858993459 >> 2 & 572662306) * 3) : 0;}
-